1. Field of the Invention
The present invention relates to an apparatus for encrypting/decrypting a real-time input stream using AES (Advanced Encryption Standards) algorithm.
2. Background of the Related Art
As importance of pay information and privacy protection increases, so does that of encryption/decryption apparatuses. Specifically, the next generation encryption standards have been newly proposed so as to replace the DES (Data Encryption Standards) which has been the U.S. encryption standard.
NIST (National Institute of Standards and Technology) has evaluated 15 algorithms as AES candidate technologies for years, and has narrowed the candidates to 5 and has finally selected the Rijndael algorithm as the next generation encryption standards through a close investigation and set about details. NIST is going to open/examine/modify the Rijndael algorithm for a while so as to confirm it as the AES. The confirmed proposal will be selected as FIPS (Federal Information Processing Standards).
The AES as a block encryption algorithm (which carries out the encryption by gathering streams by block unit) replaces the previous encryption standards, DES, and will be used for protecting information of U.S. government and people. Allowance of exporting encryption devices by U.S. government will make the AES as encryption standards prevail throughout the world. DES selected as encryption standards by U.S. government in 1976 uses 56-bits encryption system, while AES uses three systems of 128, 192, and 256 bits so as to strengthen the encryption with such excellent advantages as performance, efficiency, flexibility, and easy embodiment.
Yet, the AES algorithm introduced by software fails to carry out encryption/decryption for a real-time input stream. Namely, for real-time operation, a block round should fulfill the calculation of all rounds before the next block data are transferred. However, the block round in the AES algorithm constructed with software fails to fulfill such operation. Thus, when consecutive data streams are inputted, the block round with software is unable to secure a time to perform a processing on data by preparing one block, thereby failing to carry out the real-time processing on the consecutive data streams.